package com.allwees.bs.c.module.order.service;

import com.allwees.bs.c.module.order.entity.OrderRefundEntity;
import com.allwees.bs.c.module.order.req.OrderApplyRefundReq;

import java.util.Map;
import java.util.Set;

/**
 * 退货接口
 *
 * @author mouhn
 * @since 2019-09-19
 */
public interface IOrderRefundService {

    /**
     * 发起退货
     * @param req
     */
    void apply(OrderApplyRefundReq req);

    /**
     * 撤销
     * @param orderRefundUuid
     */
    void cancel(String userUuid, String orderRefundUuid);

    /**
     * 获取订单商品的退货状态
     * @param orderUuids
     * @return
     */
    Map<String, OrderRefundEntity> getRefunds(Set<String> orderUuids);

    /**
     * 根据订单item uuid 获取
     * @param orderItemUuid
     */
    OrderRefundEntity getRefundByOrderItemUuid(String orderItemUuid);
}
